Skip to content

ci: the test, wheels and generated jobs free runner disk; the test build drops debug info - #776

Merged
techgopal merged 2 commits into
mainfrom
p3/perf1-ci-disk-heavy-jobs
Nov 15, 2026
Merged

techgopal merged 2 commits into
mainfrom
p3/perf1-ci-disk-heavy-jobs

Conversation

@techgopal

@techgopal techgopal commented Nov 15, 2026 •

Copy link
Copy Markdown
Contributor

Includes #775's toolchain repin. It is cherry-picked as its own commit: the four dtolnay/rust-toolchain pins move from b725eda5 to 39008827. #775 was ejected from the merge queue when its test job hit this disk problem, and #776 cannot pass zizmor without the repin, so the two land together here. #775 closes once this merges.

The test job runs out of disk on most open PRs. It already frees about 32 GB and builds with line tables, but on 2026-11-15:

#768 fixed only diff-coverage. This PR extends the same treatment to the other heavy jobs.

Changes

  • New composite action .github/actions/free-disk. It runs the cleanup list the test, coverage and nightly jobs already use, and also removes the preinstalled container images, as ci: diff-coverage builds without debug info, prunes container images and reports its disk use #768 does. It prints df -h / before and after.
  • test:
    • uses the action;
    • builds with CARGO_PROFILE_DEV_DEBUG and CARGO_PROFILE_TEST_DEBUG set to false (panic backtraces keep function names but lose line numbers; no test reads DWARF);
    • after the doctests, removes the workspace run's test executables before the four feature-specific runs build their own;
    • prints df and the size of target there and at the end.
  • wheels (both legs): uses the action and prints df at the end.
  • generated (docs-site.yml): uses the action, builds without debug info and prints df at the end.

diff-coverage is unchanged. Since #768 its runs end at 73–78% of the disk (#751, #772); those two now fail on the 90% added-line coverage gate itself, not on disk.

Checks

  • zizmor 1.30.1, offline, on the three changed files: no findings.
  • zizmor 1.30.1 online, on all of .github/ with the repin: no findings.
  • cargo xtask workflow-lint: OK.

This PR changes ci.yml, so its own test run shows whether the build now fits: the new df/du lines report it.

…ild drops debug info

The `test` job runs out of disk on most open PRs. It already frees about
32 GB and builds with line tables, but on 2026-11-15 it started with
119 GB free and ended at 84 MB (#746, #756: the runner crashes with
"No space left on device" and keeps no log), or ld died with SIGBUS
while linking krishiv-server's tests (#772).

- New composite action `.github/actions/free-disk`: the cleanup list
  the test, coverage and nightly jobs already used, plus removal of the
  preinstalled container images (as #768 did for diff-coverage), with
  `df -h /` before and after.
- `test`: uses it; builds with `CARGO_PROFILE_DEV_DEBUG` and
  `CARGO_PROFILE_TEST_DEBUG` set to `false` (backtraces keep function
  names, lose line numbers; no test reads DWARF); removes the workspace
  run's test executables after the doctests, before the four
  feature-specific runs build their own; prints `df` and the size of
  `target` there and at the end.
- `wheels` (both legs): uses the action; prints `df` at the end.
- `generated` (docs-site.yml): uses the action, builds without debug
  info, prints `df` at the end.

`diff-coverage` is unchanged: since #768 its runs end at 73-78% of the
disk (#751, #772), and those two now fail the 90% added-line gate itself.

Signed-off-by: gopal tathe <44522021+techgopal@users.noreply.github.com>
@techgopal techgopal added the no-changelog CI or docs only: no changelog fragment needed label Nov 15, 2026
@coderabbitai

coderabbitai Bot commented Nov 15, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 15, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-15T07:41:02.462672Z
We couldn’t complete this review. Comment @codex review to try again.
56b5ae6 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@codecov

codecov Bot commented Nov 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@techgopal

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@techgopal

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 15, 2026 •

Copy link
Copy Markdown
Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

dtolnay/rust-toolchain's `stable` branch was rewritten on 2026-11-15
02:32 UTC. The pinned commit b725eda5 no longer has history in that
repository, so zizmor's impostor-commit audit now fails on every PR that
touches a workflow (#769, #774). Repin the four uses (setup-rust action,
binaries, docs-site) to the current `stable` head 39008827. Its
action.yml is byte-identical to the old pin's, so the steps behave the
same.

Signed-off-by: gopal tathe <44522021+techgopal@users.noreply.github.com>
@techgopal

Copy link
Copy Markdown
Contributor Author

Diff review passed. Independent review of cbaa5be: the composite action has shell: bash and env-passed input, with no untrusted expressions in run steps; the toolchain, cargo, python and target dirs survive the cleanup; deleting the test binaries changes no test selection; --fail-under 90 is unchanged; every new uses: is SHA-pinned and no b725eda pin remains. Nit: the PR text says diff-coverage uses free-disk, but only test, wheels and docs-site generated do (diff-coverage keeps #768's cleanup).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog CI or docs only: no changelog fragment needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant